#ifndef _cesium_sink_set_hpp_
#define _cesium_sink_set_hpp_

#include <set>
#include "cesium/stage.hpp"
#include "cesium/buffer.hpp"

namespace Cesium {

class SinkSet {
public:
    SinkSet();
    ~SinkSet();

    void add(Stage* sink);
    void remove(Stage* sink);

    void signal(Stage* src, Buffer* data);
    void signal(Stage* src, Buffer* data, BufferRange range);
private:
    std::set<Stage*> sinks;
}; // class SinkSet

} // namespace Cesium

#endif //_cesium_sink_set_hpp_
